Skip to content

Update PHP 8.6 ABI to 20261112 - #4490

Open
bwoebi wants to merge 1 commit into
masterfrom
bob/php-8.6-rc7-abi
Open

bwoebi wants to merge 1 commit into
masterfrom
bob/php-8.6-rc7-abi

Conversation

@bwoebi

@bwoebi bwoebi commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

8.6.0RC7 and final release have a new ABI version; we don't care about earlier ABI.

Containers are already rebuilt.

@bwoebi
bwoebi requested review from a team as code owners November 12, 2026 23:59
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-13T00:01:41.208206Z a4eec10 PR opened
🔒 Security Review ✅ Completed 2026-11-13T00:03:14.394081Z a4eec10 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a4eec10f51

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread loader/dd_library_loader.c Resolved

@datadog-prod-us1-5 datadog-prod-us1-5 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: FAIL

The ABI update also moves a logging compatibility cutoff, causing earlier PHP 8.6 release candidates to pass the wrong argument type to PHP’s error logger when debug logging is enabled. The cutoff should retain its original value.

Open Bits AI session

🤖 Bits Code Review · Commit a4eec10

Comment thread loader/dd_library_loader.c Resolved
@datadog-prod-us1-5

datadog-prod-us1-5 Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

Pipelines  Tests

✨ Unblock PR with BitsAI

❌ Errors

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 29 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | test_extension_ci: [8.6] — ❄️ 3 known flaky tests

View more details · View in GitLab

↳ ❄️ Known flaky: tmp/build_extension/tests/ext/autoload-php-files/ignores_fatal_errors.phpt (Request init hook ignores fatal errors) from php.tmp.build_extension.tests.ext.autoload.php.files

↳ ❄️ Known flaky: tmp/build_extension/tests/ext/sandbox/fatal_errors_are_tracked_002.phpt (E_ERROR fatal errors are tracked from hitting the memory limit) from php.tmp.build_extension.tests.ext.sandbox

↳ and 1 more — View all
DDCI - DataDog/dd-trace-php | ASAN test_c: [8.6, amd64] — 🔧 Needs a code fix, caused by this PR

View more details · View in DDCI

DDCI - DataDog/dd-trace-php | PHP Language Tests: [8.6] — 🔧 Needs a code fix, caused by this PR

View more details · View in DDCI

View all 29 failed jobs.

⚠️ Warnings

🧪 33 Tests failed in 2 jobs

DataDog/apm-reliability/dd-trace-php | PHP Language Tests: [8.6] — ❌ 31 tests failed

View more details

❌ ext/phar/tests/webphar_cgi_no_path_info.phpt (Phar::webPhar() double free in CGI when SCRIPT_NAME is set but PATH_INFO is absent) from php.ext.phar.tests   View in Datadog
001- Status: 301 Moved Permanently
001+ 
     --HEADERS--

↳ ❄️ Known flaky: Zend/tests/oom_exception_trace.phpt (OOM: Exception constructor doesn't reach hard limit while fetching backtrace) from php.Zend.tests   View in Datadog

↳ and 29 more — View all
DataDog/apm-reliability/dd-trace-php | test_extension_ci: [8.6, valgrind] — ❄️ 2 known flaky tests · 🔄 may pass on retry

View more details

↳ ❄️ Known flaky: tmp/build_extension/tests/ext/fibers/fiber_observer_bailout.phpt (Test fiber observing with bailout) from php.tmp.build_extension.tests.ext.fibers   View in Datadog

↳ ❄️ Known flaky: tmp/build_extension/tests/ext/sandbox/install_hook/trace_closure_instance_still_shared_ge_php_86.phpt (HOOK_INSTANCE caching boundaries for PHP 8.6 static cl... from php.tmp.build_extension.tests.ext.sandbox.install_hook   View in Datadog

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

🎯 Code Coverage (details)
• Patch Coverage: 100.00%
• Overall Coverage: 66.22% (-13.91%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: c44017e | Docs | View more details | Give us feedback!

@bwoebi
bwoebi force-pushed the bob/php-8.6-rc7-abi branch from a4eec10 to 870dc4d Compare November 13, 2026 00:48

@datadog-prod-us1-5 datadog-prod-us1-5 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: FAIL

PHP 8.6 RC3 with debug logging now reaches a logging call with the wrong argument type, risking a startup crash. The AppSec integration configuration still selects that runtime and enables debug logging.

Open Bits AI session

🤖 Bits Code Review · Commit 870dc4d

Comment thread loader/dd_library_loader.c Resolved
@bwoebi
bwoebi force-pushed the bob/php-8.6-rc7-abi branch from 870dc4d to b664cf3 Compare November 13, 2026 01:46

@datadog-prod-us1-5 datadog-prod-us1-5 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: FAIL

The ABI constant also controls the loader’s logging signature. Raising it makes debug logging on earlier PHP 8.6 builds pass an incompatible argument to PHP, potentially crashing during startup.

Open Bits AI session

🤖 Bits Code Review · Commit b664cf3

Comment thread loader/dd_library_loader.c Resolved
@pr-commenter

pr-commenter Bot commented Nov 13, 2026

Copy link
Copy Markdown

Benchmarks [ tracer ]

Benchmark execution time: 2026-11-13 02:55:07

Comparing candidate commit b664cf3 in PR branch bob/php-8.6-rc7-abi with baseline commit 2d3e2b7 in branch master.

📊 Benchmarking dashboard

Found 1 performance improvements and 0 performance regressions! Performance is the same for 221 metrics, 0 unstable metrics.

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:SamplingRuleMatchingBench/benchRegexMatching4

  • 🟩 execution_time [-128.002ns; -73.398ns] or [-8.052%; -4.617%]

8.6.0RC7 and final release have a new ABI version.
@bwoebi
bwoebi force-pushed the bob/php-8.6-rc7-abi branch from b664cf3 to c44017e Compare November 13, 2026 11:48

@datadog-prod-us1-5 datadog-prod-us1-5 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: FAIL

The ABI update also moves the loader’s logging-signature threshold, causing invalid memory access on PHP 8.6 RC3 when debug logging is enabled. AppSec’s SSI integration matrix still uses this combination.

Open Bits AI session

🤖 Bits Code Review · Commit c44017e

Comment thread loader/dd_library_loader.c Resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant